#include <stdio.h>

/**
 * 一级指针、二级指针
 */

int main()
{
  // int a[4] = {1, 2, 3, 4};
  // int *ptr1 = (int *)(&a + 1);
  // int *ptr2 = (int *)((uintptr_t)a + 1);
  // printf("%x,%x", ptr1[-1], *ptr2);

  int x = 10;
  int *p1 = &x;
  int **p2 = &p1;
  printf("value of x: %d\n", x);                // 输出 x 的值
  printf("value pointed to by p1: %d\n", *p1);  // 输出 p1 指向的值
  printf("value pointed to by p2: %d\n", **p2); // 输出 p2 指向的值

  return 0;
}